package inter

/*
   @Title  文件名称 : EmployeeInterface.go
   @Description 描述: 接口EmployeeInterface

   @Author  作者: leijmdas@163.com  时间(2024-03-30 10:29:07)
   @Update  作者: leijmdas@163.com  时间(2024-03-30 10:29:07)

*/

import (
	basedto "gitee.com/ichub/gofactroy/common/ichubbase/dto"
	"gitee.com/ichub/gofactroy/common/shop/dto"
	"gitee.com/ichub/gofactroy/common/shop/model"
)

type EmployeeInterface interface {

	/*
	   @title     函数名称:  Query
	   @description      :  通用查询
	   @auth      作者   :  leijmdas@163.com 时间: 2024-03-30 10:29:07
	   @param     输入参数名: param * dto.EmployeeQueryParam
	   @return    返回参数名: * dto.EmployeePageResult
	*/
	Query(queryParam *dto.EmployeeQueryParam) *dto.EmployeePageResult

	/*
	   @title     函数名称 :  Count
	   @description       :  通用查询计数
	   @auth      作者     : leijmdas@163.com 时间: 2024-03-30 10:29:07
	   @param     输入参数名: param * dto.EmployeeQueryParam
	   @return    返回参数名: * dto.EmployeeJsonResult
	*/
	Count(queryParam *dto.EmployeeQueryParam) *basedto.JsonResult

	/*
	   @title     函数名称: FindById(Id int32)
	   @description      : 根据主键查询记录
	   @auth      作者:     leijmdas@163.com 时间: 2024-03-30 10:29:07
	   @param     输入参数名:Id int32
	   @return    返回参数名:*dto.EmployeeJsonResult
	*/
	FindById(Id int32) *dto.EmployeeJsonResult

	/*
	   @title     函数名称: FindByIds(pks string)
	   @description      :
	              根据主键Id 查询多条记录  例子： FindByIds("1,36,39")
	   @auth      作者:     leijmdas@163.com 时间: 2024-03-30 10:29:07
	   @param     输入参数名:Id int32
	   @return    返回参数名:*dto.EmployeeJsonResult
	*/
	FindByIds(pks string) *dto.EmployeePageResult

	/*

	   @title     函数名称: DeleteById
	   @description      : 根据主键软删除。
	   @auth      作者   : leijmdas@163.com 时间: 2024-03-30 10:29:07
	   @param     输入参数名: Id int32
	   @return    返回参数名: *basedto.JsonResult

	*/
	DeleteById(Id int32) *basedto.JsonResult

	/*

	   @title     函数名称: Save
	   @description      : 主键%s为nil,0新增; !=nil修改。
	   @auth      作者   : leijmdas@163.com 时间: 2024-03-30 10:29:07
	   @param     输入参数名: entity *model.Employee
	   @return    返回参数名: *basedto.JsonResult
	*/
	Save(entity *model.Employee) *basedto.JsonResult

	/*

	   @title     函数名称: UpdateNotNullProps
	   @description      : 更新非空字段
	   @auth      作者   : leijmdas@163.com 时间: 2024-03-30 10:29:07
	   @param     输入参数名: Id int64,entity map[string]interface{}
	   @return    返回参数名: *basedto.JsonResult

	*/
	UpdateNotNullProps(Id int64, entity map[string]interface{}) *basedto.JsonResult
}
